#ifndef FILEFILTERS_H
#define FILEFILTERS_H

#include <wx/string.h>

namespace FileFilters {
  void AddDefaultFileFilters();
  bool Add( const wxString& name, const wxString& mask );
  wxString GetFilterString( const wxString& ext = wxEmptyString );
  wxString GetFilterAll();
  size_t GetIndexForFilterAll();
  bool GetFilterNameFromIndex( const wxString& FiltersList, int Index, wxString& FilterName );
  bool GetFilterIndexFromName( const wxString& FiltersList, const wxString& FilterName, int& Index );
  extern const wxString M_WORKSPACE_EXT;
  extern const wxString M_CODE_EXT;
  extern const wxString ASM_EXT;
  extern const wxString C_EXT;
  extern const wxString CC_EXT;
  extern const wxString CPP_EXT;
  extern const wxString CXX_EXT;
  extern const wxString TPP_EXT;
  extern const wxString INL_EXT;
  extern const wxString H_EXT;
  extern const wxString HH_EXT;
  extern const wxString HPP_EXT;
  extern const wxString HXX_EXT;
  extern const wxString S_EXT;
  extern const wxString SS_EXT;
  extern const wxString S62_EXT;
  extern const wxString OBJECT_EXT;
  extern const wxString XRCRESOURCE_EXT;
  extern const wxString STATICLIB_EXT;
  extern const wxString DYNAMICLIB_EXT;
  extern const wxString EXECUTABLE_EXT;
  extern const wxString NATIVE_EXT;
  extern const wxString RESOURCE_EXT;
  extern const wxString RESOURCEBIN_EXT;
  extern const wxString XML_EXT;
  extern const wxString SCRIPT_EXT;
  extern const wxString M_WORKSPACE_DOT_EXT;
  extern const wxString M_CODE_DOT_EXT;
  extern const wxString ASM_DOT_EXT;
  extern const wxString C_DOT_EXT;
  extern const wxString CC_DOT_EXT;
  extern const wxString CPP_DOT_EXT;
  extern const wxString CXX_DOT_EXT;
  extern const wxString TPP_DOT_EXT;
  extern const wxString INL_DOT_EXT;
  extern const wxString H_DOT_EXT;
  extern const wxString HH_DOT_EXT;
  extern const wxString HPP_DOT_EXT;
  extern const wxString HXX_DOT_EXT;
  extern const wxString S_DOT_EXT;
  extern const wxString SS_DOT_EXT;
  extern const wxString S62_DOT_EXT;
  extern const wxString OBJECT_DOT_EXT;
  extern const wxString XRCRESOURCE_DOT_EXT;
  extern const wxString STATICLIB_DOT_EXT;
  extern const wxString DYNAMICLIB_DOT_EXT;
  extern const wxString EXECUTABLE_DOT_EXT;
  extern const wxString NATIVE_DOT_EXT;
  extern const wxString RESOURCE_DOT_EXT;
  extern const wxString RESOURCEBIN_DOT_EXT;
  extern const wxString XML_DOT_EXT;
  extern const wxString SCRIPT_DOT_EXT;
}

#endif
